/*
 * 版权所有 (c) 2022-2099 TBIT。保留所有权利。
 */

/*
 * 版权所有 (c) 2022-2099 TBIT。保留所有权利。
 */

package com.tbit.uqbike.object.pojo.vo;

import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Update;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
* 弹框广告
*
* @author yao
* @since 2024-03-28
*/
@Data
public class AdaccountPopUpVO {

	/**
	 * 编号
	 */
	@NotNull(message = "ver.adPopUpId.notNull", groups = Update.class)
	private Long id;

	/**
	 * 区域代理商编号
	 */
	@NotNull(message = "ver.adAccountId.notNull", groups = Insert.class)
	private Integer accountId;

	/**
	 * 标题
	 */
	@NotBlank(message = "ver.title.notNull", groups = Insert.class)
	private String title;

	/**
	 * 排序
	 */
	private Integer sort;

	/**
	 * 生效时间
	 */
	@JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
	@NotNull(message = "ver.adPopUpContent.startTime", groups = Insert.class)
	private Date startTime;

	/**
	 * 失效时间
	 */
	@JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
	@NotNull(message = "ver.adPopUpContent.endTime", groups = Insert.class)
	private Date endTime;

	/**
	 * 状态：1：待生效，2：已失效，3：生效中
	 */
	private Integer status;

	/**
	 * 弹框内容
	 */
	@NotBlank(message = "ver.adPopUpContent.notNull", groups = Insert.class)
	private String content;

	/**
	 * 创建者
	 */
	private String creator;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
	private Date createTime;

	/**
	 * 更新者
	 */
	private String updater;

	/**
	 * 更新时间
	 */
	@JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
	private Date updateTime;


	public void setStatus(long now) {

		long start = this.startTime.getTime();
		long end = this.endTime.getTime();

		if (now <= start) {
			// 待生效
			status = 1;
		} else if (end <= now) {
			// 已失效
			status = 2;
		} else {
			// 生效中
			status = 3;
		}

	}


}